#include "../Loaders/Loaders.h"
#include "../Core/MediaManager.h"
#include "../Loaders/TextureLoader.h"
#include "../Loaders/ObjLoader.h"
#include "../Loaders/ShaderLoader.h"
#include "../Loaders/OffLoader.h"

namespace epix {

void registerLoaders()
{
    MediaManager *mmgr = MediaManager::instance();
    mmgr->registerLoader(new TextureLoader(), "bmp, png, jpg, tga, dds, psd, hdr");
    mmgr->registerLoader(new ObjLoader(), "obj");
    mmgr->registerLoader(new ShaderLoader(), "vert, frag");
    mmgr->registerLoader(new OffLoader(), "off");
}

void unregisterLoaders()
{
    MediaManager *mmgr = MediaManager::instance();
    mmgr->unregisterLoader<Texture>();
    mmgr->unregisterLoader<Model>();
    mmgr->unregisterLoader<ShaderBase>();
}

}
